#ifndef MUSICID3V2INFO_H
#define MUSICID3V2INFO_H

#include <QLabel>

#define TIT2 1
#define TPE1 2
#define TALB 4
#define APIC 8

//文件头， 10BYTE
typedef struct
{
    char header[3];
    char ver;
    char revision;
    char flag;
    unsigned char size[4];
}mp3Id3v2Header;

//帧头， 10BYTE
typedef struct
{
    char frameId[4];
    unsigned char size[4];
    char flags[2];
}mp3Id3v2FrameHeader;




class musicId3v2Info
{
public:
    char flag;          //标记
    int titleSize;      //标题
    char *title;
    int singleSize;     //歌手
    char *singer;
    int specialSize;    //专辑
    char *special;
    int coverSize;      //封面
    char *cover;
    musicId3v2Info();
    ~musicId3v2Info();
    int readInfo(char *url);        //从文件中读取音乐信息

    /*
     * @描述 对读入的信息帧进行处理
     * @参数 mfh 读入的信息帧头
     * @参数 fdata 读入的该帧的数据域
     * @参数 fsize 数据域的大小
     */
    int frameOp(mp3Id3v2FrameHeader *mfh, char *fdata, int fsize);

    void show();                    //打印音乐信息
};

#endif // MUSICID3V2INFO_H
